Uploadifyがlocalhostの外部でイベントを発生させない
-
22-07-2019 - |
質問
ユーザーがファイルをアップロードできるようにする非常に簡単なアップロードページがあります。ローカルマシンで実行すると、 http:// localhost / project / etc
問題は、マシン名( http:// mycomp1 / project / etc )、ページload / etcおよびすべてが機能しているように見えますが、何も転送されていません。firebugを開いており、通常、通過するajaxリクエストが表示されますしかし、何も得られません。
アイデアはありますか
私のuploadifyコード:
$('#uploadify').uploadify({
'scriptAccess': 'always',
'uploader': '../../scripts/uploadify.swf', //flash source for handling the uploads and size checking
'cancelImg': '../../content/images/cancel.png', //cool cancel button
'script': '../../' + $('#Controller').val() + '/FileSave/' + $('#OrderID').val(), //sends files to the controller with apropriate data
'folder': 'Uploads', //sets the upload directory, not sure if this matters as the files are sent to the controller
'multi': true, //allows multiple uploads
'auto': false, //uploads dont start automatically
'queueSizeLimit': 5, //5 files can be in the queue at a time
'queueID': 'fileQueue', //div to contain the queue of files
'displayData': 'speed', //shows the transfer speed
'fileExt': '*.pdf', //limits to pdfs
'fileDesc': 'PDF', //shows a description in the browse window of filetypes
'sizeLimit': '5242880', //5mb limit
'scriptData': { 'CategoryID': $('#fileCategory').val() }, //passes the selected value of the category drop down
onComplete: function(event, queueID, fileObj, response, data) {//once a transfer completes fires an ajax function to pull in the files for the order
if (response == "Upload Successful") {//if response is successfull, updates div displaying files with new files
GetFiles($('#Controller').val());
}
}
});
UPDATE:scriptAccess設定が含まれているように見えますが、常に設定されている場合でも、uploadify Webサイトで言われているように、バックエンドスクリプトやonComplete関数はまだ実行されていません
UPDATE2:詳細な検査では、localhost以外の設定ではスクリプトパスが正しくなかったように見えますが、正しい場所にスクリプトがあると、onComplete関数で取得する応答はログインのhtml出力と等しくなりますページ。アイデアはありますか?
UPDATE3:私のスクリプトパスは大丈夫のように見えますが、何らかの理由でローカルホスト上にない場合、バックエンドコードからアップロードが成功または失敗する代わりに、ログインページの応答が返されます
解決
ログインページの問題については、フラッシュがセッションを尊重していないようです。
PHPを使用している場合、Flashオブジェクトから投稿でPHPセッションIDを渡すようにしてください。たとえば、 SWFアップロードでは、これを post_params 設定。次に、セッションを開始する前に次のようなことを確認してください。
if( isset( ログインページの問題については、フラッシュがセッションを尊重していないようです。
PHPを使用している場合、Flashオブジェクトから投稿でPHPセッションIDを渡すようにしてください。たとえば、 SWFアップロードでは、これを post_params 設定。次に、セッションを開始する前に次のようなことを確認してください。
<*>
編集:これにASPタグがあることに気付きました。 ASPのフラッシュセッションに関するこの記事を見つけました。うまくいけばそれが役立つでしょう。
http://swfupload.org/forum/generaldiscussion/98
編集:さらにアップロード+ ASP固有の情報。
http://www.uploadify.com/forum/viewtopic .php?f = 7&amp; t = 1178
これは本当に有望に見えます:::
POST['session_id'] ) && !empty( ログインページの問題については、フラッシュがセッションを尊重していないようです。
PHPを使用している場合、Flashオブジェクトから投稿でPHPセッションIDを渡すようにしてください。たとえば、 SWFアップロードでは、これを post_params 設定。次に、セッションを開始する前に次のようなことを確認してください。
<*>
編集:これにASPタグがあることに気付きました。 ASPのフラッシュセッションに関するこの記事を見つけました。うまくいけばそれが役立つでしょう。
http://swfupload.org/forum/generaldiscussion/98
編集:さらにアップロード+ ASP固有の情報。
http://www.uploadify.com/forum/viewtopic .php?f = 7&amp; t = 1178
これは本当に有望に見えます:::
POST['session_id'] ) )
session_id( ログインページの問題については、フラッシュがセッションを尊重していないようです。
PHPを使用している場合、Flashオブジェクトから投稿でPHPセッションIDを渡すようにしてください。たとえば、 SWFアップロードでは、これを post_params 設定。次に、セッションを開始する前に次のようなことを確認してください。
<*>
編集:これにASPタグがあることに気付きました。 ASPのフラッシュセッションに関するこの記事を見つけました。うまくいけばそれが役立つでしょう。
http://swfupload.org/forum/generaldiscussion/98
編集:さらにアップロード+ ASP固有の情報。
http://www.uploadify.com/forum/viewtopic .php?f = 7&amp; t = 1178
これは本当に有望に見えます:::
POST['session_id'] )
session_start();
編集:これにASPタグがあることに気付きました。 ASPのフラッシュセッションに関するこの記事を見つけました。うまくいけばそれが役立つでしょう。
http://swfupload.org/forum/generaldiscussion/98
編集:さらにアップロード+ ASP固有の情報。
http://www.uploadify.com/forum/viewtopic .php?f = 7&amp; t = 1178
これは本当に有望に見えます:::
他のヒント
同じ問題と解決策は非常に簡単でした-UploadifyがアクセスしているWebサーバーの可視ルートフォルダーに crossdomain.xml
を追加します。
次の情報を含める必要があります
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="yourdomain"/>
</cross-domain-policy>
さらに、全体の理解を深めるために、このマニュアルを読むことをお勧めします。このファイルの。
この方法を試して、これが問題の原因かどうかを確認してください。